/* 
	Address
	
	For Part A1
	
	Created by Vincent Nguyen
*/

#ifndef ADDRESS_H_
#define ADDRESS_H_

#include <string>
#include <sstream>
#include <iomanip>
#include <iostream>
using namespace std;

struct Street_address{
	public:
		Street_address() {}
		Street_address(int h, string s, int z)
			:	house_num(h), street_name(s), zip_code(z) {}
			
		string display() const
			{
				//address display format
				stringstream sline (stringstream::in | stringstream::out);
				sline<<left<<setw(16)<<house_num<<setw(16)<<street_name<<zip_code;
				return sline.str();
			}
		
		string write()
		{
				//address display format
				stringstream sline (stringstream::in | stringstream::out);
				sline <<" "<<house_num<<" "<<street_name << " " <<zip_code;
				return sline.str();
		}
	private:
		int house_num;
		string street_name;
		int zip_code;
	};

#endif //ADDRESS_H_